package com.ys.entity.storage;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCC_Assemble", catalog="Id")
public class TccAssemble extends BaseEntity<TccAssemble> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Bid", nameJava="bid", typeDataBase="varchar")
	private String bid;
	@YsField(nameDataBase="State", nameJava="state", typeDataBase="tinyint")
	private Integer state;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="AuditTime", nameJava="auditTime", typeDataBase="datetime")
	private Date auditTime;
	@YsField(nameDataBase="SourceType", nameJava="sourceType", typeDataBase="tinyint")
	private Integer sourceType;
	@YsField(nameDataBase="AppointOrderId", nameJava="appointOrderId", typeDataBase="bigint")
	private Long appointOrderId;
	@YsField(nameDataBase="AppointOrderItemId", nameJava="appointOrderItemId", typeDataBase="bigint")
	private Long appointOrderItemId;
	@YsField(nameDataBase="ParentPreAssembleNumber", nameJava="parentPreAssembleNumber", typeDataBase="int")
	private Integer parentPreAssembleNumber;
	@YsField(nameDataBase="ParentAssembleNumber", nameJava="parentAssembleNumber", typeDataBase="int")
	private Integer parentAssembleNumber;
	@YsField(nameDataBase="ParentSinglePrice", nameJava="parentSinglePrice", typeDataBase="decimal")
	private BigDecimal parentSinglePrice;
	@YsField(nameDataBase="AssembleErrorId", nameJava="assembleErrorId", typeDataBase="bigint")
	private Long assembleErrorId;
	@YsField(nameDataBase="CompanyVid", nameJava="companyVid", typeDataBase="varchar")
	private String companyVid;
	@YsField(nameDataBase="Vgsbm", nameJava="vgsbm", typeDataBase="varchar")
	private String vgsbm;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TccAssemble setId(Long id) {
		this.id = id;
		return this;
	}
	public String getBid() {
		return bid;
	}
	public TccAssemble setBid(String bid) {
		this.bid = bid;
		return this;
	}
	public Integer getState() {
		return state;
	}
	public TccAssemble setState(Integer state) {
		this.state = state;
		return this;
	}
	public Date getAuditTime() {
		return auditTime;
	}
	public TccAssemble setAuditTime(Date auditTime) {
		this.auditTime = auditTime;
		return this;
	}
	public Integer getSourceType() {
		return sourceType;
	}
	public TccAssemble setSourceType(Integer sourceType) {
		this.sourceType = sourceType;
		return this;
	}
	public Long getAppointOrderId() {
		return appointOrderId;
	}
	public TccAssemble setAppointOrderId(Long appointOrderId) {
		this.appointOrderId = appointOrderId;
		return this;
	}
	public Long getAppointOrderItemId() {
		return appointOrderItemId;
	}
	public TccAssemble setAppointOrderItemId(Long appointOrderItemId) {
		this.appointOrderItemId = appointOrderItemId;
		return this;
	}
	public Integer getParentPreAssembleNumber() {
		return parentPreAssembleNumber;
	}
	public TccAssemble setParentPreAssembleNumber(Integer parentPreAssembleNumber) {
		this.parentPreAssembleNumber = parentPreAssembleNumber;
		return this;
	}
	public Integer getParentAssembleNumber() {
		return parentAssembleNumber;
	}
	public TccAssemble setParentAssembleNumber(Integer parentAssembleNumber) {
		this.parentAssembleNumber = parentAssembleNumber;
		return this;
	}
	public BigDecimal getParentSinglePrice() {
		return parentSinglePrice;
	}
	public TccAssemble setParentSinglePrice(BigDecimal parentSinglePrice) {
		this.parentSinglePrice = parentSinglePrice;
		return this;
	}
	public Long getAssembleErrorId() {
		return assembleErrorId;
	}
	public TccAssemble setAssembleErrorId(Long assembleErrorId) {
		this.assembleErrorId = assembleErrorId;
		return this;
	}
	public String getCompanyVid() {
		return companyVid;
	}
	public TccAssemble setCompanyVid(String companyVid) {
		this.companyVid = companyVid;
		return this;
	}
	public String getVgsbm() {
		return vgsbm;
	}
	public TccAssemble setVgsbm(String vgsbm) {
		this.vgsbm = vgsbm;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TccAssemble setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TccAssemble setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TccAssemble setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TccAssemble tccAssemble(
		String bid,
		Integer state,
		Date auditTime,
		Integer sourceType,
		Long appointOrderId,
		Long appointOrderItemId,
		Integer parentPreAssembleNumber,
		Integer parentAssembleNumber,
		BigDecimal parentSinglePrice,
		Long assembleErrorId,
		String companyVid,
		String vgsbm,
		Integer status
			) {
		TccAssemble entity = new TccAssemble();
		entity.setBid(bid);
		entity.setState(state);
		entity.setAuditTime(auditTime);
		entity.setSourceType(sourceType);
		entity.setAppointOrderId(appointOrderId);
		entity.setAppointOrderItemId(appointOrderItemId);
		entity.setParentPreAssembleNumber(parentPreAssembleNumber);
		entity.setParentAssembleNumber(parentAssembleNumber);
		entity.setParentSinglePrice(parentSinglePrice);
		entity.setAssembleErrorId(assembleErrorId);
		entity.setCompanyVid(companyVid);
		entity.setVgsbm(vgsbm);
		entity.setStatus(status);
		return entity;
	}
}